package cn.tianyigps.tianyigpsgatherchecker.bean;

import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Getter;
import lombok.Setter;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.geo.GeoJsonPoint;
import org.springframework.data.mongodb.core.index.GeoSpatialIndexed;

import java.util.Date;

/**
 * Created with IDEA
 * author:guibin.cui
 * Date:2018/4/23
 * Time:16:09
 */
@Setter
@Getter
public class EquipmentCheckModel {

    //唯一标识
    @Id
    private String id;
    //起始位，用来区分属于哪种设备
    private String startBit;
    //设备id
    private String equipmentId;
    //数据上传时间(信号时间)
    private Date reportTime;
    //持续时间
    private Integer duration;
    //定位时间
    private Date locateTime;
    //Gps经度
    private Double gpsLongitude;
    //Gps纬度
    private Double gpsLatitude;
    //车辆速度
    private Double speed;
    //无线光感报警
    private Boolean lightAlarm = false;
    //SOS报警
    private String SOSAlarm ;
    //拆除报警
    private String demolishAlarm ;
    //翻转报警
    private String flipAlarm ;
    //有线断电报警
    private Boolean powerAlarm = false;
    //是否检查状态 true 检查 ；false 不检查（默认）
    private Boolean checkStatus = false;
    //设备发包频率
    private int packetFrequency;
    //电池电量
    private String batteryLevel;
    //检查服务报警标识
    @JsonIgnore
    private CheckStatusModel checkStatusModel;
    //设备状态
    private String lineStatus;
    //停车时间点
    private Date lineStatusTime;
    //报警信息
    private String alarm;
    //基站的CellID(此数据是设备登录时上传的基站包数据)
    private String cellId;
    //基站的lac
    private String lac;
    //清洗更新时间
    private Date cleanTime;
    //Geo 定位
    @GeoSpatialIndexed
    @JsonIgnore
    private GeoJsonPoint point;
    //设备类型(TCP或者UDP)
    private String equipmentType;
    //数据包的定位类型（00：gps定位 01：基站定位 02：wifi定位）
    private String locationType;
    //电源类型：有线 无线
    private String powerType;
    //航向
    private String heading;
    //温控油控设备油耗数据
    private String oilWear;
    //温控油控设备温度数据
    private String temperature;
    //当前设备的所处的工作模式（暂时Q3s有）
    private String workPattern;
    //设备电压（暂时M5,M5B有）
    private String voltage;
    //acc 点火 00熄火  01 点火
    private String accStatus;
    //重置标识
    private String restFlag;
    //总公里数
    private Double kms;
    //status数据
    private String status;
    //status数据更新时间
    private Date statusTime;
    //统计数据
    private String statistics;
    //ICCID
    private String iccid;
    //vin
    private String vin;
    // M5B 毛重
    private Double netWeight;
    // M5B 原始f8
    private Double f8;
    //load
    private String load;
    //历史数据标识 1 补全 0 实时
    private Integer histRec = 0;
    /**==========================================================================*/
//    //电量时间
//    private Date batteryTime;
//    //速度和航向时间(gps时间)
//    private Date gpsTime;
//    //基站时间
//    private Date clacTime;
//    //定位类型时间
//    private Date locTypeTime;
//    //工作模式时间
//    private Date workPatternTime;
//    //电压时间
//    private Date voltageTime;
//    //acc时间
//    private Date accStatusTime;
//    //iccid时间
//    private Date iccidTime;
//    //vin时间
//    private Date vinTime;
//    //报警信息时间
//    private Date alarmTime;

}
